import time

from selenium.webdriver import firefox
from selenium.webdriver.support.select import Select

from public.action import *
from public.business import *
from public.testData import *
from public.tools import*

testCase = "DBshop010_销售管理退货管理处理退货"
#打开浏览器，打开dbshop前台首页
firefox=openBrowser(url)
#用户登录
DBshopLogin(firefox,userName,password)
#点击用户中心
firefox.find_element_by_link_text("用户中心").click()
#点击我的订单
firefox.find_element_by_link_text("我的订单").click()
#点击交易完成
firefox.find_element_by_partial_link_text("交易完成").click()
#获取交易完成的订单中的第一个订单编号
back_id=firefox.find_element_by_xpath("//span[text()='订单完成']/following-sibling::a").text
#点击退货申请
firefox.find_element_by_link_text("退货申请").click()
#点击申请退货
firefox.find_element_by_link_text("点此申请退货").click()
#输入获取的订单编号back_id
firefox.find_element_by_id("order_sn").send_keys(back_id)
#点击查询
firefox.find_element_by_id("search-order").click()
#选择退款到账户余额
firefox.find_element_by_xpath("//input[@type='radio' and @value='1']").click()
#输入退货原因
firefox.find_element_by_id("refund_info").send_keys("退货")
#点击申请退货按钮
firefox.find_element_by_xpath("//button[text()='申请退货']").click()
firefox.quit()

firefox=openBrowser(urlAdmin)
#调用自定义函数打开网页,url的值是在testData文件中定义的
DBshopLoginAdmin(firefox)

#1.点击销售管理退货管理
#点击销售管理退货管理
DBshopEnterMenu2(firefox,"销售管理","退货管理")
#在订单编号输入框输入申请退货的订单号
firefox.find_element_by_name("order_sn").send_keys(back_id)
#点击搜索
firefox.find_element_by_xpath("//button[@type='submit']").click()
#点击订单编号对应的处理退货超链接
firefox.find_element_by_xpath("//td[text()='%s']/following-sibling::td[5]/a[1]"%back_id).click()
#选择同意退货
s=Select(firefox.find_element_by_id("refund_state"))
s.select_by_visible_text("同意退货")
#调用js修改退货金额为2199
firefox.execute_script("document.getElementById('refund_price').value='2199';")
#输入处理意见为同意
firefox.find_element_by_id("re_refund_info").send_keys("同意")
#点击提交处理结果按钮
firefox.find_element_by_xpath("//button").click()
firefox.quit()

firefox=openBrowser(url)
#打开前台，进行登录
DBshopLogin(firefox,userName,password)
#点击用户中心
firefox.find_element_by_link_text("用户中心").click()
#点击退货申请
firefox.find_element_by_link_text("退货申请").click()
#输入申请退货的订单编号
firefox.find_element_by_xpath("//input[@placeholder='输入订单编号']").send_keys(back_id)
#点击搜索
firefox.find_element_by_xpath("//button[text()='搜索']").click()
#断言
try:
    #如果申请退货的订单编号的处理状态为退款成功
    if firefox.find_element_by_xpath("//td[text()='%s']/following-sibling::td[3]"%back_id).text=="退款成功":
        writeLog("%s 测试通过" % testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()